wowwikifandomcom-20200223-history
TalentGuess
TalentGuess is a library that attempts to guess enemy players talents using the spells they use, or the buffs they gain. The accuracy depends entirely on the class and talents, most classes can be figured out to their "major" 31/41 point talents, for example a 25/36/0 Warlock can be figured out to at least 21/31/0. Download TalentGuess-1.0 at WoWInterface TalentGuess-1.0 SVN TalentGuess-1.0 API :Register() Returns TalentGuess Object API TGObject:EnableCollection() Remarks Flags that this TGObject is going to want talent data, will register the appropeate events in the library so data starts to be recorded. TGObject:DisableCollection() Remarks Flags this TGObject as done collecting data, if no other TGObjects want data then the recording events will all be disabled. While it's not required that you call this when you only want data for a limited period of time inside an area like Arenas, it cuts down on the amount of data we store. TGObject:RegisterCallback(handlerfunc) Args Remarks Registers the passed handler/function to be called when we get a new spellID used for a player. If you passed just a function it'll be called as func(name, spellID) If you passed a handler and a function it'll be called as handlerfunc(handler, name, spellID) TGObject:UnregisterCallback(handlerfunc) Args Remarks Unregisters the passed handler/function preventing it from being triggered whenever an enemy uses a new spellID. TGObject:GetTalents(name) Args Returns Remarks Returns the talents that we think they've spent so far. The tree numbering is the same from the returns of [API_GetTalentTabInfoGetTalentTabInfo]](), if no data is found for the player then nil will be returned if we've seen at least one spell from them then the returns will be what we think their talents are. If the player is from your server then all you need to pass is their name, if they are from a different one then you need to append "-server" (without the quotes). For example if you're on the Foo server and you want to get data for Apple on the Bar server then you need to pass "Apple-Bar", but if you want to get data from Orange on the Foo server then you can just pass "Orange". TGObject:GetUsed(name) Args Returns Remarks Returns a list of spellIDs and how far into the tree you need to be to get that spellID. The tree numbering is the same from the returns of [API_GetTalentTabInfoGetTalentTabInfo]](), if no data is found for the player then nil will be returned if we've seen at least one spell from them then the returns will be what we think their talents are. If the player is from your server then all you need to pass is their name, if they are from a different one then you need to append "-server" (without the quotes). For example if you're on the Foo server and you want to get data for Apple on the Bar server then you need to pass "Apple-Bar", but if you want to get data from Orange on the Foo server then you can just pass "Orange". talentTable is formated as spellID = pointsSpent, for example Shadowstep is spellID #36554 and requires 41 points spent so it would look like 36554 = 41.